package top.juntower.service;

import org.apache.ibatis.annotations.Param;
import top.juntower.pojo.Backstage.Feedback;
import top.juntower.pojo.Backstage.GameInformations;
import top.juntower.pojo.Backstage.GameTypes;
import top.juntower.pojo.Backstage.Userinfo;
import top.juntower.pojo.GameType;
import top.juntower.pojo.dto.GameInformationDto;

import java.util.List;
import java.util.Map;

public interface BackstageService {
    /**
     *新增游戏信息
     */
    int addGameInformation(GameInformationDto gameInformationDto);

    /**
     *新增游戏类别
     */
    int addGameType(GameInformationDto gameInformationDto);

    /**
     *新增游戏开发信息
     */
    int addGameTypeUser(GameInformationDto gameInformationDto);

    /**
     *新增游戏轮播图
     */
    int addGameRotation(Integer giId, List<String> grImg);




    /**
     *新增游戏信息
     */
    int addGameInformationTwo(Map map);

    /**
     *新增游戏类别
     */
    int addGameTypeTwo(Map map);

    /**
     *新增游戏开发信息
     */
    int addGameTypeUserTwo(Map map);

    /**
     *新增游戏轮播图
     */
    int addGameRotationTwo(Map map);

    /**
     *查询最后一条Id
     */
    Integer queryId();


    /**
     *后台用户信息
     */
    List<Userinfo> getUserInfo(Integer pageNum,Integer pageSize);

    /**
     *后台用户信息模糊查询
     */
    List<Userinfo> getLikeUserInfo(String likeInfo,Integer pageNum,Integer pageSize);

    /**
     *后台删除用户信息
     */
    int delUserInfo(@Param("uId") Integer uId,@Param("uState") Integer uState);

    /**
     *后台意见信息
     */
    List<Feedback> getFeedbacks(Integer pageNum,Integer pageSize);

    /**
     *后台游戏信息
     */
    List<GameInformations> getGameInformations(Integer pageNum, Integer pageSize);

    /**
     *后台根据id游戏信息
     */
    GameInformations getGameInformationById(Integer giId);

    /**
     *后台根据id游戏信息
     */
    int delGameInformation(@Param("giId") Integer giId,@Param("giState") Integer giState);

    /**
     *后台模糊查询游戏信息
     */
    List<GameInformations> getGameInformationLike(String likeGame,Integer pageNum,Integer pageSize);

    /**
     *后台修改游戏
     */
    int updateGame(Map map);

    int updateGameProperties(Map map);
    int updateGameDetails(Map map);
    int deleteGameRotation(Map map);


    /**
     *后台类别信息
     */
    List<GameTypes> getGameType(Integer pageNum, Integer pageSize);

    /**
     *后台模糊查询类别信息
     */
    List<GameTypes> getGameTypeLike(String likeType,Integer pageNum,Integer pageSize);

    /**
     *后台根据Id查询类别信息
     */
    GameType getGameTypeById(Integer gtId);

    /**
     *后台修改类别状态
     */
    int updateGameType(@Param("gtId") Integer gtId,@Param("gtState") Integer gtState);

    /**
     *后台修改类别状态
     */
    int updateGameTypes(Map map);

    /**
     *后台上传类别
     */
    int addGameTypes(Map map);
}
